<script type='text/javascript' language='javascript'>
//VARS
var url_base = "{url_base}";
var quant_list = '{quant_list}'; // valor vindo do parser do controller
var path_img_user = '{path_img_user}'; // valor vindo do parser do controller

$(document).ready(function(){
    CKEDITOR.config.forcePasteAsPlainText = true;
    CKEDITOR.config.autoParagraph = true;
    CKEDITOR.config.removePlugins = "elementspath";
    CKEDITOR.config.height = 400;

    CKEDITOR.config.toolbar = [
        { name: 'document', items : [ 'Source' ] },
        { name: 'document2', items : [ 'NewPage', 'Preview', 'Print', '-', 'Templates' ] },
        { name: 'clipboard', items : [ 'Undo','Redo' ] },
        { name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ] },
        { name: 'editing', items : [ 'PasteText','PasteFromWord','-','Scayt' ] },
        { name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock' ] },
        { name: 'links', items : [ 'Link','Unlink','-','Image','Table','HorizontalRule','SpecialChar' ] },
        { name: 'styles', items : [ 'Styles', 'Format', 'Font', 'FontSize' ] },
        { name: 'colors', items: [ 'TextColor', 'BGColor' ] }
    ];

   /**
    * Verifica se existe mensagem de erro de validação
    */
   if(($("#messege-alert").hasClass("erro") && window.location.toString() == url_base + 'email/atualizar') || ($("#messege-alert").hasClass("aviso") && window.location.toString() == url_base + 'email/atualizar') || ($("#messege-alert").hasClass("aviso") && window.location.toString() == url_base + 'email/atualizar/1')){
       show_form('edit');
   }else if(($("#messege-alert").hasClass("erro") && window.location.toString() == url_base + 'email/cadastrar') || ($("#messege-alert").hasClass("aviso") && window.location.toString() == url_base + 'email/cadastrar') || ($("#messege-alert").hasClass("aviso") && window.location.toString() == url_base + 'email/cadastrar/1')){
       show_form('insert');
   }

   /** Filtra dados QUANTIDADE **/
   $(".filter_quant").change(function() {
        window.location = url_base + 'email/listar/cod/2/' + $(this).val();
        return false;
   });
    
   // Habilitando botao
   $("#bt_enviar, #bt_submit").removeAttr("disabled");
   
   // Ação para o botão submit
   $("#bt_submit").click(function(){
       $("#bt_enviar, #bt_submit").attr("disabled", "disabled");
   });
    
   // Ação para o botão enviar
   $("#bt_enviar").click(function(){
       $("#form-insert-email").attr("action",url_base + "email/cadastrar/1");
       $("#form-insert-email").submit();
       $("#bt_enviar, #bt_submit").attr("disabled", "disabled");
   });
   
   /**
    * Filtrar dados do dataGrid pelo código
    */
   $(".codigo").click(function() {
        if(window.location.toString() == url_base + 'email/listar/cod/1/' + quant_list){
            window.location = url_base + 'email/listar/cod/2/' + quant_list;
        }else {
            window.location = url_base + 'email/listar/cod/1/' + quant_list;
        }
       return false;
   });
   
   /**
    * Filtrar dados pela data de cadastro
    */
   $(".data_cadastro").click(function() {
        if(window.location.toString() == url_base + 'email/listar/cadastro/1/' + quant_list){
            window.location = url_base + 'email/listar/cadastro/2/' + quant_list;
        }else {
            window.location = url_base + 'email/listar/cadastro/1/' + quant_list;
        }
       return false;
   });
   
   /**
    * Filtrar dados pelo status
    */   
   $(".status").click(function() {
        if(window.location.toString() == url_base + 'email/listar/status/1/' + quant_list){
            window.location = url_base + 'email/listar/status/2/' + quant_list;
        }else {
            window.location = url_base + 'email/listar/status/1/' + quant_list;
        }
       return false;
   });
    
    /**
     * fecha formulario
     */
    $('#bt_cancel').click(function(){
        $("#form-insert").fadeOut();
        scroll_to('#page-content');
    });
    
    /**
     * Ação para quando o check box todos é clicado
     */
    $("#todos").click(function(){
        if ($("#todos").prop('checked')){
            $("#assunto").focus();
            $('.ipt_destinatarios').fadeOut();
        }else{
            $('.ipt_destinatarios').fadeIn();
            $("#email_destinatario").focus();
        }
    });
    
    /**
     * Autocomplete para destinatários
     */
    $( "#email_destinatario" ).bind( "keydown", function( event ) {}).autocomplete({
        source: function( request, response ) {
            $.getJSON( url_base + 'usuario/auto_complete_usuario', {
                term: extractLast( request.term )
            }, response );
        },
        search: function() {
            // custom minLength
            var term = extractLast( this.value );
            if ( term.length < 3 ) {
                return false;
            }
        },
        focus: function() {
            // prevent value inserted on focus
            return false;
        },
        select: function( event, ui ) {
            $("#email_destinatario").focus();
            
            var terms = split( this.value );
            // remove the current input
            terms.pop();
            // add the selected item
            terms.push(ui.item.email);
           
            // add placeholder to get the comma-and-space at the end
            terms.push( "" );
            this.value = terms.join( ", " );
            return false;
        }
    }).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
      return $( "<li>" )
        .append('<a><span style="float: left; padding-right: 5px;"><img src="' + url_base + path_img_user + item.image + '" width="30" height="35"/></span><strong>' + item.value + '</strong><br />' + item.email + '</a>')
        .appendTo( ul );
    };
});

function split( val ) {
    return val.split( /,\s*/ );
}
function extractLast( term ) {
    return split( term ).pop();
}

/**
 * Retirna do controller o email selecionado para edição
 */
function get_email(codigo){
    $("#loading-data").fadeIn();
    
    $.ajax({
        url: '{url_base}email/get_email_json',
        type:'POST',
        dataType: 'json',
        data: { idEmail: codigo },
        success: function(data){
            $("#todos").attr('checked', false);
            $("#codigo").val(data.email.id);
            $("#email_destinatario").val(data.email.destinatario);
            $("#assunto").val(data.email.assunto);
            CKEDITOR.instances.mensagem.setData(data.email.mensagem);
            
            $("#loading-data, #messege-alert").fadeOut();
            show_form("edit");
        },
        error: function (data){ //Erro do back-end
            $("#loading-data").fadeOut();
            $("#form-insert").hide('slow');
            $("#show-alert").html(erro_message());
            scroll_to("#page-content");
        }
    }); 
}

/**
 * Função par abrir o form Insert ou Update de acordo com o parametro
 * 
 * @param string Nome da ação
 * Podendo ser new, erro ou sucess
 */
function show_form(action) {
    if(action == "edit"){ // UPDATE data
        $("#bt_submit").val("Atualizar e-mail");
        $("#form-insert-email").attr("action", "{url_base}email/atualizar");
        $("#form-insert legend").html("<h3>Atualizar dados do e-mail</h3>");
    }else if(action == "insert"){
        $("#form-insert-email").attr("action", "{url_base}email/cadastrar");
        $("#form-insert legend").html("<h3>Cadastrar/enviar um novo e-mail</h3>");
    }else{
        $("#bt_submit").val("Cadastrar/Salvar e-mail");
        $("#form-insert-email").attr("action", "{url_base}email/cadastrar"); 
        $("#form-insert legend").html("<h3>Cadastrar/enviar um novo e-mail</h3>");
        clear_form();
    }
    $("#form-insert").show('slow');
    $(".input1").focus();
    
    // Analisa se deve colocar a visão no content grid ou deixar no show-alert
    if($("#messege-alert").hasClass("erro") || $("#messege-alert").hasClass("aviso")) {
        // o foco fica na mensagem
    } else {
        scroll_to("#content-datagrid");
    }
}

/*
 * Carrega os dados do email selecionada para remoção
 */    
function delete_email(codigo) {
    $("#loading-data").fadeIn();

    if(get_code().length > 1){
        $("#codigoDelete").val(get_code());
        $("#nomeDelete").val("");
        $("#loading-data").fadeOut();
        $("#inforDel").html('<p>Deseja realmente excluir os E-Mails selecionados?<br /><span style="color: #cc0000; font-size: 15px; font-weight: bold;">'  + get_code().length + ' no total.</span> <br />Uma vez excluído não será possível recuperar os dados.');
        open_dialog_delete();
    }else{
        $.ajax({
            url: '{url_base}email/get_email_json',
            type:'POST',
            dataType: 'json',
            data: { idEmail: codigo },
            success: function(data){
                $("#loading-data").fadeOut();
                $('#messege-alert').fadeOut();
                $("#form-insert").hide('slow');

                $("#codigoDelete").val(data.email.id);
                $("#nomeDelete").val(data.email.assunto);
                $("#inforDel").html('<p>Deseja realmente excluir o E-Mail:<br /><span style="color: #cc0000; font-size: 15px; font-weight: bold;">'  + data.email.assunto + '?' + '</span> <br />Uma vez excluído não será possível recuperar os dados.');

                open_dialog_delete();
            },
            error: function (data){ //Erro do back-end
                $("#loading-data").fadeOut();
                $("#form-insert").hide('slow');
                $("#show-alert").html(erro_message());
                scroll_to("#page-content");
            }
        });
    }
}

/*
 * DIALOG para confirmar remoção da Autor
 */
function open_dialog_delete() {
    $(".dialog-excluir").dialog({
        height: 195,
        width: 420,
        resizable: false,
        draggable: true,
        modal: true,
        buttons: {
            'Sim': function() {
                $(this).dialog('close');
                $("#form-delete-email")[0].submit();
            },
            'Não': function() {
                $(this).dialog('close');
            }
        }
    });
}

function clear_form() {
    $("#destinatario, #assunto, #email_destinatario").val("");
    $(".as-selection-item").remove();
    $("#todos").attr('checked', false);
    $('.ipt_destinatarios').show();
    CKEDITOR.instances.mensagem.setData('');
}
</script>
<article>
    <div id="box-search">
        <form id="search" name="search" action="{url_base}email/buscar/cod/2/{quant_list}">
            <input type="search" name="search_term" class="input_search" placeholder="Buscar email pelo código, assunto ou destinatário"/>
            <a class="search_refresh" href="{url_base}email">
                <img title="Atualiza página descartando a busca" align="center" src="<?php echo site_url('assets/img/refresh.png'); ?>"/>
            </a>
        </form>
    </div>
    <div id="filter_item">
        <i>Quantidade por página:</i>
        <form id="quant_list">
            <?php 
                echo form_dropdown('filter_quant', array(10 => '10', 20 => '20', 30 => '30', 50 => '50'), isset($quant_list) ? $quant_list : '', 'class="filter_quant"'); 
            ?>
        </form>
    </div>
    <div id="datagrid">
        <table>
            <thead>
                <tr>
                    <th><input type="checkbox" value="1" id="select-all" name="select-all" title="Selecionar registros"></th>
                    <th><a href="" class="codigo">Código</a></th>
                    <th>Destinatário(s)</th>
                    <th>Assunto</th>
                    <th>Mensagem</th>
                    <th><a href="" class="data_cadastro">Data cadastro</a></th>
                    <th><a href="" class="status">Status</a></th>
                    <th colspan="2">Ação</th>
                </tr>
            </thead>
            <?php if(isset($emails)):?>
            <tfoot>
                <tr>
                    <td colspan="9">
                        <div id="paginacao">
                            <ul class="pagination">
                                {pagination}
                            </ul>
                        </div>
                        <div id="total-register">
                            Total: {total_rows}
                        </div>
                    </td> 
                </tr>
            </tfoot>					
            <tbody>
                <?php foreach ($emails as $email): ?>
                <tr class="pointer <?php echo strtolower($email->get_email_status()); ?>" ondblclick="get_email(<?php echo "'" . $email->id ."'"; ?>)">
                    <td width="10">
                        <input type="checkbox" name="cod[]" value="<?php echo $email->id; ?>" class="codigoId">
                    </td>
                    <td width="60"><?php echo $email->id; ?></td>
                    <td title="<?php echo $email->destinatario; ?>"><?php echo character_limiter($email->destinatario, 25); ?></td>
                    <td title="<?php echo $email->assunto; ?>"><?php echo character_limiter($email->assunto, 25); ?></td>
                    <td title="<?php echo strip_tags($email->mensagem); ?>"><?php echo character_limiter(strip_tags($email->mensagem), 50); ?></td>
                    <td title="<?php echo data_to_string($email->data_cadastro); ?>"><?php echo format_date($email->data_cadastro); ?></td>
                    <td><?php echo $email->get_email_status(); ?></td>
                    <td width="20">
                        <a title="Editar registro"  onclick="get_email(<?php echo "'" . $email->id ."'"; ?>)">
                            <img align="center" src="{url_base}/assets/img/edit.png"/>
                        </a>
                    </td>
                    <td width="20"> 
                        <a title='Excluir registro' onclick="delete_email(<?php echo "'" . $email->id ."'"; ?>)">
                            <img align="center" src="{url_base}/assets/img/delete.png"/>
                        </a>
                    </td>
                </tr>
                <?php endforeach; endif;?> <!-- END loop mails -->
            </tbody>
        </table>
    </div> <!-- END of #datagrid -->
</article>
<button type="button" class="button" id="new-data" onclick="show_form();">Cadastrar um novo email</button>
<div id="main-content-datagrid" class="form-email">
    <div id="loading-data">
        <img src="{url_base}assets/img/loading.gif" width="220" height="20"/>
    </div>
    <div id="content-datagrid">
        <section id="form-insert">
            <form action="{url_base}email/cadastrar" id="form-insert-email" method="post" accept-charset="utf-8">
                <fieldset>
                    <legend><h3>Cadastrar Um Novo E-Mail</h3></legend>
                    <div id="content_form">
                        <input type="hidden" name="codigo" id="codigo">
                        <label>
                            <p>
                                Destinatário(s)*: <i>Informe as iniciais do nome e selecione o usuário desejado na lista.<br />Para mais de um destinatário, <b>basta separar por virgula...</b> Ou para <b>TODOS</b> Selecione a caixa abaixo.</i><br />
                                <span class="pointer">
                                    <input type="checkbox" name="todos" id="todos" value="1" <?php echo set_checkbox('todos', 1); ?>/>
                                    Todos usuários cadastrados
                                </span>
                            </p>
                        </label>
                        <label class="margin_10 ipt_destinatarios">
                            <input class="input1" type="text" name="email_destinatario" id="email_destinatario" value="<?php echo set_value('email_destinatario'); ?>" placeholder="Informe e-mail dos destinatários"/>
                        </label>
                            
                        <label>
                            <p>Assunto*:</p>
                            <input type="text" name="assunto" id="assunto" value="<?php echo set_value('assunto'); ?>" placeholder="Informe o assunto do e-mail"/>
                        </label>
                            
                        <label>
                            <p>Mensagem*:</p>
                            <div class="full"><textarea class="ckeditor" id="mensagem" name="mensagem"><?php echo set_value('mensagem'); ?></textarea></div>
                        </label>
                        <input type="submit" value="Cadastrar/Salvar e-mail" id="bt_submit" class="button" title="O e-mail é salvo e não é enviado...">&nbsp;
                        <input type="submit" value="Enviar e-mail" id="bt_enviar" class="button" title="O e-mail é enviado aos destinatários e salvo...">&nbsp;
                        <!--<a id="bt_enviar"  class="button pointer" title="O e-mail é enviado aos destinatários e salvo...">Enviar e-mail</a>&nbsp;-->
                        <a id="bt_cancel" class="button pointer">Cancelar</a>
                    </div>
                </fieldset>
            </form>
        </section>
            
        <section id="form-delete">
            <div class="dialogModal dialog-excluir">
                <h2>Atenção!</h2>
                <div id="inforDel"></div>    
            </div>
                <form action="{url_base}email/excluir" id="form-delete-email" method="post" accept-charset="utf-8">
                    <input type="hidden" id="codigoDelete" name="codigoDelete"/>
                    <input type="hidden" id="nomeDelete" name="nomeDelete"/>
                </form>
        </section>
    </div> <!-- END of #content-datagrid -->
</div> <!-- END of #main-content-datagrid -->
    